/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ac.pbp.core;

import ac.pbp.core.exception.DataAdditionException;
import ac.pbp.core.exception.DataDeletionException;
import ac.pbp.core.exception.DataModificationException;
import java.io.Serializable;
import java.util.List;

/**
 *
 * @author Kim
 */
public interface BaseDao<T, I extends Serializable> {
    public void add(T bean) throws DataAdditionException;

    public T load(I id);

    public List<T> loadAll();

    public void update(T bean) throws DataModificationException;

    public void delete(T bean) throws DataDeletionException;
}
